// 初始化store的实例对象
import Vue from 'vue'
import Vuex from 'vuex'

// 在 store/store.js 模块中，导入并挂载购物车的 vuex 模块
// 用import导入cart.js模块，用moduleCart接收
// 导入购物车的 vuex 模块
import moduleCart from '@/store/cart.js'
// 导入用户的 vuex 模块
import moduleUser from '@/store/user.js'

// 将Vuex安装为Vue的插件
Vue.use(Vuex)

// 创建Store的实例对象 
// store为Vuex的实例
const store = new Vuex.Store({
  // 在modules对象里指定需要挂载的store模块
  modules: {
    // 挂载购物车的vuex模块，模块内成员的访问路径被调整为m_cart
    // 购物车模块中 cart 数组的访问路径是 m_cart/cart
    // 将moduleCart模块挂载为m_cart，今后购物车中的数据和方法都需要通过m_cart访问
    // m_cart节点
    'm_cart': moduleCart,
    // 挂载用户的 vuex 模块，访问路径为 m_user
    'm_user': moduleUser
  },
})

// 向外共享Store的实例对象
export default store